/*
 * Copyright 2016-2017 TVI Go Easy.
 * Created on 2017/6/6 17:30
 */
package com.gitee.mechanic.web.error;

import lombok.Data;

import java.io.Serializable;

/**
 * 错误信息
 *
 * @author mechanic
 * @version 0.0.1
 */
@Data
class ErrorMessage implements Serializable {

    private static final long serialVersionUID = -5482522983061327461L;

    private String path;
    //    private String method;
    private int status;
    private String exception;
    private String message;
    private String trace;
    private long timestamp;

//    ErrorMessage(String exception, int httpCode, String message, String path,String method, Long timestamp) {
//        this.exception = exception;
//        this.status = httpCode;
//        this.message = message;
//        this.path = path;
//        this.method = method;
//        this.timestamp = timestamp;
//    }

    ErrorMessage(String path, int status, String exception, String message, String trace, Long timestamp, String method) {
        this.path = method + " " + path;
//        this.method = method;
        this.exception = exception;
        this.status = status;
        this.message = message;
        this.trace = trace;
        this.timestamp = timestamp;
    }

//    public String getException() {
//        return exception;
//    }
//
//    public int getStatus() {
//        return status;
//    }
//
//    public String getMessage() {
//        return message;
//    }
//
//    public String getPath() {
//        return path;
//    }
//
//    public String getMethod() {
//        return method;
//    }
//
//    public long getTimestamp() {
//        return this.timestamp;
//    }
//
//    @Override
//    public boolean equals(Object o) {
//        if (this == o) {
//            return true;
//        }
//
//        if (o == null || getClass() != o.getClass()) {
//            return false;
//        }
//
//        ErrorMessage that = (ErrorMessage) o;
//
//        return new EqualsBuilder()
//          .append(status, that.status)
//          .append(timestamp, that.timestamp)
//          .append(exception, that.exception)
//          .append(message, that.message)
//          .append(path, that.path)
//          .append(method, that.method)
//          .isEquals();
//    }
//
//    @Override
//    public int hashCode() {
//        return new HashCodeBuilder(17, 37)
//          .append(exception)
//          .append(status)
//          .append(message)
//          .append(path)
//          .append(method)
//          .append(timestamp)
//          .toHashCode();
//    }
//
//    @Override
//    public String toString() {
//        return new ToStringBuilder(this)
//          .append("exception", exception)
//          .append("status", status)
//          .append("message", message)
//          .append("path", path)
//          .append("method", method)
//          .append("timestamp", timestamp)
//          .toString();
//    }
}
